package com.darwin.darwinUI.assist
{
	/**
	 *	可被Group管理的对象接口
	 * @author Roland
	 * 
	 */
	public interface IGroupItem
	{
		/**
		 * 对象所属的组
		 */
		function get group():Group;
		/**
		 * @private
		 */
		function set group(value:Group):void;
		
		/**
		 *立即设置对象的选中状态(不执行动画过程,也不通知同组内其它对象)
		 */
		function set immediateSelected(value:Boolean):void;
		
		/**
		 *	执行切换选中状态的动作(如：一段动画等) 
		 * @param selected 动作完成后对象应该处于的选中状态(可根据此参数来判读是执行切入还是切出动作)
		 * <br/>动作完成后的需自行回调group.itemSelectActionEnd()方法设置状态
		 */
		function selectAction(selected:Boolean):void;
		
		/**
		 *	此方法用来提供给group调用，每当同一个组内被选中的对象发生改变时(动画完成，selected实际变化的时候)，会通过这个方法通知到同组内的所有成员 
		 * @param curruntSelection 被新选中的对象
		 */
		function groupSelectionChange(curruntSelection:IGroupItem):void;
	}
}